const express = require('express');
const cors = require('cors');
require('dotenv').config();

const errorHandler = require('./middlewares/errorHandler');
const routes = require('./routes/index');

// 创建Express应用
const app = express();

// 中间件配置
app.use(cors({
  origin: process.env.CORS_ORIGIN || 'http://localhost:5173',
  credentials: true
}));
app.use(express.json({ limit: '10mb' }));
app.use(express.urlencoded({ extended: true, limit: '10mb' }));

// 根路由
app.get('/', (req, res) => {
  res.json({
    message: '公共卫生API正在运行',
    version: '1.0.0',
    timestamp: new Date().toISOString()
  });
});

// API路由
app.use('/api', routes);

// 404处理
app.use('*', (req, res) => {
  res.status(404).json({
    success: false,
    error: {
      message: '请求的资源不存在',
      statusCode: 404
    }
  });
});

// 全局错误处理中间件
app.use(errorHandler);

module.exports = app;